function foo<T, E, H>(tag:T, arg: E, arg1: H, ...args:T[]) {

}

foo('abc', 123, 123, '123')